// 该文件专门用于创建整个应用的路由器
import Vue from 'vue'
import VueRouter from 'vue-router'
//引入组件


Vue.use(VueRouter)

// 创建一个路由器(内容为路由表)
const routes = [{
        path: '/order',
        name: 'order',
        meta: { title: '订单' }, //路由元信息(会永远保存再当前路由对象身上)
        component: () =>
            import ('../views/Order.vue')
    },
    {
        path: '/index',
        name: 'index',
        meta: { title: '首页' },
        component: () =>
            import ('../views/Index.vue'),
        //路由独享的守卫函数
        // beforeEnter: (to, from, next) => {
        //     // ...
        // }
    }, {
        path: '/mine',
        name: 'mine',
        meta: { title: '我的' },
        component: () =>
            import ('../views/Mine.vue')
    }, {
        path: '/login',
        name: 'login',
        meta: { title: '登录' },
        component: () =>
            import ('../views/Login.vue'),
        // children: [{
        //         path: '/Bao/ing',
        //         name: 'ing',
        //         component: () =>
        //             import ('../views/Bao/ing.vue'),
        //         children: [{
        //             path: '/Bao/ing/mess/:id/:name',
        //             name: 'mess',
        //             component: () =>
        //                 import ('../views/Bao/mess.vue'),
        //         }]
        //     },
        //     {
        //         path: '/Bao/news',
        //         name: 'news',
        //         component: () =>
        //             import ('../views/Bao/news.vue'),

        //     },
        // ]
    }, {
        path: '/register',
        name: 'register',
        meta: { title: '注册登录' },
        component: () =>
            import ('../views/Register.vue'),
    },
    //以及路由的重定向
    {
        path: '/',
        redirect: '/index',
    }
]

const router = new VueRouter({
        mode: 'history',
        base: process.env.BASE_URL,
        routes
    })
    //设置实例方法(导航守卫方法)
    //路由的全局前置守卫方法
router.beforeEach((to, form, next) => {
        next(); //必须手动调用该函数,否则无法完成路由跳转
        // 参数1: to新的路由对象
        // 参数2: form旧的路由对象
        // 参数3: 路由控制方法,调用方法,允许跳转,未调用,不允许跳转
        // 动态更新网页标题   
        document.title = to.meta.title;



        //获取localStorage中的登录凭证
        // var token = localStorage.getItem('token');
        // 只有在登录以后,才可以跳转订单页
        // if (to.path == '/index/order') {
        //     if (token) { // //判断是否已经登录
        //         next();
        //     } else { //未登录
        //         next('/mine');
        //     }
        // } else { //其他页面
        //     next();
        // }
        //判断是否已经登录



        //对于后台管理系统这种应用,只有登录页是跨域随意访问的,但是其他的所有页面都是必须在登录以后才跨域访问
        // if (to.path == 'login') { //跳往等绿叶
        //     if (token) { //已经登录
        //         next('/') //重定向到
        //     }
        // } else { //未登录
        //     if (token) { //已经登
        //         next('/') //允许访问
        //     } else { //未登录
        //         next('login') //重定向到
        //     }
        // }

    })
    //路由的全局后置守卫方法
    // .router.afterEach((to, from) => {

// })
export default router